//Copyright (c) Microsoft Corporation.  All rights reserved.

using System;
using System.Collections.Generic;
using System.Text;

namespace Eas.WebCrawler.Interfaces {
    /// <summary>The main web crawler engine.  This interface is used to run the web crawler.</summary>
    public interface WebCrawlerEngine : IDisposable {
        /// <summary>Tell the engine to start crawling (or unpause if paused).</summary>
        void Start();
        /// <summary>Tell the engine to stop crawling.</summary>
        void Stop();
        /// <summary>Tell the engine to pause it's crawling.</summary>
        void Pause();
        /// <summary>The collection of events that this crawler will fire during processing.</summary>
        Eas.WebCrawler.Interfaces.WebCrawlerEvents Events { get;}
        /// <summary>The store of requests to be processed.</summary>
        RequestStore Store { get;}
    }
}
